One example of a programmable device is a parallel machine. Parallel machines include, for example, finite state machines (FSM) engines and field programmable gate arrays (FPGAs). A FSM is a representation of state, transitions between states and actions. Finite state machines can be expressed in the form of directed flow graphs. They can be used to solve problems in, for example, engineering, pattern recognition, biology and artificial intelligence.